دستور GROUP BY ردیفهایی را که مقادیر یکسانی دارند در ردیفهای خلاصه گروهبندی میکند، مانند «تعداد مشتریان در هر کشور را بیابید».
دستور GROUP BY اغلب با توابع انبوه (COUNT()، MAX()، MIN()، SUM()، AVG()) برای گروه بندی مجموعه نتایج توسط یک یا چند ستون استفاده می شود.
در زیر منتخبی از جدول "مشتریان" در پایگاه داده نمونه Northwind آمده است:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
عبارت SQL زیر تعداد مشتریان هر کشور را فهرست می کند:
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;
عبارت SQL زیر تعداد مشتریان را در هر کشور بهصورت مرتب به کم فهرست میکند:
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;